Computer systems typically include bulk storage systems, such as magnetic disk drives, optical storage devices, tape drives, or solid state storage drives, among other storage systems. As storage needs have increased in these computer systems, networked storage systems have been introduced which store large amounts of data in a storage environment physically separate from end user computer devices. These networked storage systems typically provide access to bulk data storage over one or more network interfaces to end users or other external systems. In addition to storage of data, remote computing systems include various processing systems that can provide remote computing resources to end users. These networked storage systems and remote computing systems can be included in high-density installations, such as rack-mounted environments.
However, as the densities of networked storage systems and remote computing systems increase, various physical limitations can be reached. These limitations include density limitations based on the underlying storage technology, such as in the example of large arrays of rotating magnetic media storage systems. These limitations can also include computing density limitations based on the various physical space requirements for network interconnect as well as the large space requirements for environmental climate control systems.
In addition to physical space limitations, these bulk storage systems have been traditionally limited in the number of devices that can be included per host, which can be problematic in storage environments where higher capacity, redundancy, and reliability is desired. These shortcomings can be especially pronounced with the increasing data storage and retrieval needs in networked, cloud, and enterprise environments.
Overview
Systems, methods, apparatuses, and software for data storage systems are provided herein. In one example, a data storage assembly is provided. The data storage assembly includes a plurality of storage drives each comprising a PCIe host interface and solid state storage media, with each of the storage drives configured to store and retrieve data responsive to storage operations received over an associated PCIe host interface. The data storage assembly includes a PCIe switch circuit coupled to the PCIe host interfaces of the storage drives and configured to receive the storage operations issued by a plurality of host systems over a shared PCIe interface and transfer the storage operations for delivery to the storage drives over selected ones of the PCIe host interfaces. The data storage assembly includes holdup circuitry configured to provide power to at least the storage drives after input power is lost to the data storage assembly.
In another example, a method of operating a data storage assembly is provided. The method includes, in a plurality of storage drives each comprising a Peripheral Component Interconnect Express (PCIe) host interface and solid state storage media, storing and retrieving data responsive to storage operations received over an associated PCIe host interface. The method also includes, in a PCIe switch circuit coupled to the PCIe host interfaces of the plurality of storage drives, receiving the storage operations issued by a plurality of host systems over a shared PCIe interface and transferring the storage operations for delivery to the plurality of storage drives over selected ones of the PCIe host interfaces. The method also includes, in holdup circuitry, providing power to at least the plurality of storage drives after input power is lost to the data storage assembly.
In another example, a data storage module is provided. The data storage module includes a plurality of storage drives each configured to store and retrieve data responsive to storage operations received over associated host interfaces. The data storage module includes communication circuitry coupled to the host interfaces of the plurality of storage drives and configured to receive the storage operations issued by a plurality of host systems over a shared interface and transfer the storage operations for delivery to the plurality of storage drives over selected ones of the host interfaces. The data storage module includes power control circuitry configured to provide holdup power to at least the plurality of storage drives after input power is lost to the data storage module.